package cn.dong.ucenter.service;

import cn.dong.base.dto.MemberDto;
import cn.dong.base.dto.TradeOrderDto;
import cn.dong.ucenter.domain.Member;
import cn.dong.ucenter.domain.dto.LoginVo;
import cn.dong.ucenter.domain.dto.MemberBasicVo;
import cn.dong.ucenter.domain.dto.MemberRegisterVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.netflix.client.ClientException;

import java.util.List;

/**
 * <p>
 * 会员表 服务类
 * </p>
 *
 * @author You-Dong
 * @since 2021-02-18
 */
public interface MemberService extends IService<Member> {

    /**
     * 注册
     * @param memberRegisterVo
     * @return
     */
    void register(MemberRegisterVo memberRegisterVo) throws ClientException;

    /**
     * 登录
     * @param loginVo
     * @return
     */
    String login(LoginVo loginVo);

    /**
     * 根据会员id，查询会员信息，用于订单表中的会员信息
     * @param id
     * @return
     */
    MemberDto getMemberById(String id);

    /**
     * 查询用户的基本资料
     * @param id
     * @return
     */
    MemberBasicVo getBasicInfo(String id);

    /**
     * 查询这个用户的订单
     * @param id
     * @return
     */
    List<TradeOrderDto> getOrderAll(String id);

    /**
     * 获取今天的注册
     * @param day
     * @return
     */
    Integer getRegisterCountByDay(String day);

    /**
     * 获取今天的登录数量
     * @param day
     * @return
     */
    Integer getLoginCountByDay(String day);
}
